<%@page import="dao.SqlConnect"%>
<%@page import="bean.MonHang"%>
<%@page import="bean.GioHang"%>
<%@page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.*"%>
<%@page import="dao.ControllerDB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Giỏ hàng</title>
            <link href="css/index_style.css" rel="stylesheet" type="text/css" />

    </head>
    <body>
        <%
            if (session.getAttribute("user_cus") == null) {
                response.sendRedirect("customerLogin.jsp?number=1");
            }
        %>
        <div id="baby_wrapper_outter">

            <div id="baby_wrapper_inner">
                <%@include file="top.jsp"%>
                <div id="baby_content_wrapper">

                    <div id="baby_left_sidebar_wrapper">

                        <%@include file="left.jsp"%>

                    </div> 
                    <div id="baby_right_sidebar_wrapper">

                        <%@include file="right.jsp"%>

                    </div> 

                    <div id="baby_content">
                        <div class="content_section">
                            <div style="height: 500px">
                                <%
                                    GioHang giohang;
                                    synchronized (session) {  // đồng bộ tránh xung đột
                                        // Lấy các giỏ hàng cho session này
                                        giohang = (GioHang) session.getAttribute("cart");
                                        if (giohang == null) {  // tạo giỏ hàng mới
                                            giohang = new GioHang();
                                            session.setAttribute("cart", giohang);  // Lưu vào trong session
                                        }
                                    }
                                    ControllerDB ctrl = new ControllerDB();

                                    out.println("<h2>Giỏ hàng của bạn</h2>");

                                    //todo

                                    String todo = request.getParameter("todo");
                                    if (todo == null) {
                                        todo = "view";  // tránh lỗi null
                                    }
                                    if (todo.equals("add") || todo.equals("update")) {

                                        // Lấy id product
                                        String id = request.getParameter("id");

                                        // lấy số lượng món hàng
                                        int qtyOrdered = Integer.parseInt(request.getParameter("qty" + id));

                                        int idInt = Integer.parseInt(id);

                                        if (todo.equals("add")) {//Thêm mặt hàng
                                            ctrl.addCartItem(giohang, idInt, qtyOrdered);
                                        } else if (todo.equals("update")) {//Cập nhật mặt hàng
                                            giohang.update(idInt, qtyOrdered);
                                        }


                                    } else if (todo.equals("remove")) {
                                        String _id = request.getParameter("id");  // lấy id để xóa món hàng
                                        giohang.remove(Integer.parseInt(_id));
                                    }

                                    // Giỏ hàng
                                    if (giohang.isEmpty()) {
                                        out.println("<p>Giỏ hàng của bạn rỗng</p>");
                                    } else {
                                        out.println("<table border='2' cellpadding='6'>");
                                        out.println("<tr>");
                                        out.println("<th>ID</th>");
                                        out.println("<th>Nhãn hiệu</th>");
                                        out.println("<th>Tên mặt hàng</th>");
                                        out.println("<th>Loại</th>");
                                        out.println("<th>Giá</th>");
                                        out.println("<th>Số lượng</th>");
                                        out.println("<th>Xóa</th></tr>");

                                        int totalPrice = 0;
                                        for (MonHang item : giohang.getItems()) {
                                            int id = item.getId();
                                            String provider = item.getProvider();
                                            String name = item.getName();
                                            String type = item.getType();
                                            int price = item.getPrice();
                                            int qtyOrdered = item.getQtyOrdered();

                                            out.println("<tr>");
                                            out.println("<td>" + id + "</td>");
                                            out.println("<td>" + provider + "</td>");
                                            out.println("<td>" + name + "</td>");
                                            out.println("<td>" + type + "</td>");
                                            out.println("<td>" + price + "</td>");

                                            //Cập nhật + xóa món hàng

                                            out.println("<td><form method='get'>");
                                            out.println("<input type='hidden' name='todo' value='update' />");
                                            out.println("<input type='hidden' name='id' value='" + id + "' />");
                                            out.println("<input type='number' maxlength='2' min='1' max='99' size='2' name='qty"
                                                    + id + "' value='" + qtyOrdered + "' />");

                                            out.println("<input type='submit' value='Cập nhật' />");
                                            out.println("</form></td>");

                                            out.println("<td><form method='get'>");

                                            out.println("<input type='hidden' name='todo' value='remove' />");
                                            out.println("<input type='hidden' name='id' value='" + id + "'>");
                                            out.println("<input type='submit' value='Xóa'>");
                                            out.println("</form></td>");
                                            out.println("</tr>");


                                            //Tính tổng tiền

                                            totalPrice += price * qtyOrdered;
//                                                System.out.println("Tổng số tiền: " + totalPrice);
                                        }
                                        out.println("<tr><td colspan='5' align='right'>Tổng số tiền: ");
                                        out.println(+totalPrice + " VNĐ</td></tr>");
                                        out.println("</table>");
                                    }

                                    out.println("<p><a href='product.jsp'>Chọn thêm sản phẩm khác...</a></p>");

                                    // Test 
//                                    String usrnme = null;
//                                    ResultSet rset2 = ctrl.getUser();



                                    if (!giohang.isEmpty()) {
                                        out.println("<br />");
                                        out.println("<form method='get' action='checkout'>");
                                        out.println("<input type='submit' value='Đặt hàng'>");
//                                        out.println("<p>Điền thông tin thử nghiệm:</p>");
//                                        out.println("<table>");
//                                        out.println("<tr>");
//                                        out.println("Chọn username: <select name='username' size='1'>");
//                                        out.println("<option value=''>Chọn...</option>");  // ko chọn
//                                        while (rset2.next()) {  // danh sách user
//                                            usrnme = rset2.getString("username");
//                                            out.println("<option value='" + usrnme + "'>" + usrnme + "</option>");
//                                        }
//                                        out.println("</select><br />");
//                                        out.println("</table>");
//                                        out.println("</form>");
                                    }
                                %>
                            </div>
                        </div>
                    </div>



                    <div class="cleaner"></div>

                </div> <!-- end of baby_content_wrapper -->

            </div> <!-- end of baby_wrapper_inner -->
        </div> <!-- end of baby_wrapper_outter -->
        <%@include file="bottom.jsp"%>
    </body>
</html>